mysql - 将返回重复彩票号码的 SQL 查询

标签 mysql sql

我一直在努力编写一个 SQL 查询,它会返回重复的中奖彩票号码。

我有一个名为 WinningLotteryNumbers 的 SQL 表和一个名为 WinningNumbers 且数据类型为 vchar(14) 的列。我以这种格式存储了 WinningNumber:01-02-03-04-05

我的问题是,假设我在列中存储了 02-04-06-08-10 的 WinningNumber。这 5 个数字很幸运,几天后再次抽出,但顺序不同,即 06-02-10-08-04。如何查询该列并返回所有相同但顺序不同的 WinningNumbers。

我希望我的问题和我自己脑子里的一样清楚。在此先感谢您的帮助!

最佳答案

这很痛苦。让我建议这种方法:

select newWLN, count(*) as cnt
from (select LotteryNumber, group_concat(numpart order by numpart separator '-') as NewWLN
      from (select wln.LotteryNumber,
                   substring_index(substring_index(wln.LotteryNumber, '-', n.n), '-', -1) as numpart
            from WinningLotteryNumbers wln cross join
                 (select 1 as n union all select 2 union all select 3 union all select 4 union all select 5
                 ) n
           ) wln
      group by LotteryNumber
     ) nwln
group by newWLN
having count(*) > 1
order by count(*) desc;

这是一种蛮力方法。它将彩票号码分成每个彩票号码的五个组成部分。然后它按顺序重新组合它们。最后一步只是聚合以计算重复项。

关于mysql - 将返回重复彩票号码的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23790939/

相关文章:

c# - 更新按钮查询无法正常工作 mysql c#

sql - 组织在线类(class)数据库

mysql - 用于检索选票的 SQL 语法奇怪地遗漏了一些结果

MYSQL 查询统计过去 7 天每天不同值的数量

php - 是否可以在两个不同的数据库之间进行外部连接

mysql - key 'group_key' 的重复条目

php - mysql_data_seek 和 mysql_num_rows

SQL 查询 : Facing issues to get desired records from different tables

sql - 如何 INNER JOIN 4 个表?

mysql - 比较 MySQL 中的 TIMEDIFF