Создайте совокупную контрольную сумму столбца

Это звучит как домашнее задание, поэтому я не буду предоставлять код, однако я приведу некоторые подсказки, чтобы помочь вам.

Я предполагаю, что вы хотите, чтобы компьютер сделал случайный выбор после того, как вы нажали на выбор. Вы можете заключить раздел //Computer choice в функцию и вызывать ее после того, как пользователь нажмет выбор. Возможно, вы захотите передать ему выбор пользователя в качестве параметра, который вы затем сможете использовать для сравнения с выбором компьютера.

9
задан ʞɔıu 26 February 2009 в 16:22
поделиться

3 ответа

Кажется, что Вы могли бы также использовать crc32 вместо md5 если Вы не заботитесь о криптографической силе. Я думаю это:

select sum(crc32(some_column)) from some_table;

работал бы над строками. Это могло бы быть неэффективно как, возможно, MySQL составил бы временную таблицу (особенно, если бы Вы добавили order by).

4
ответ дан 4 December 2019 в 15:26
поделиться
SELECT  crc
FROM
(
  SELECT @r := MD5(CONCAT(some_column, @r)) AS crc,
         @c := @c + 1 AS cnt
  FROM
    (
    SELECT @r := '', @c := 0
    ) rc,
    (
    SELECT some_column
    FROM mytable
    WHERE condition = TRUE
    ORDER BY
      other_column
    ) k
) ci
WHERE cnt = @c
3
ответ дан 4 December 2019 в 15:26
поделиться

Если столбец является числовым, Вы могли бы сделать это:

SELECT BIT_XOR(mycolumn) + SUM(mycolumn)

Конечно, это легко победить, но это будет включать все биты в столбец.

1
ответ дан 4 December 2019 в 15:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: