首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL彩票查询

SQL彩票查询
EN

Stack Overflow用户
提问于 2020-06-24 22:48:08
回答 2查看 387关注 0票数 1

我有一个由7列组成的简单表格

代码语言:javascript
复制
Week ¦ 1st ¦ 2nd ¦ 3rd ¦ 4th ¦ 5th ¦ 6th ¦

每周,我父亲都会在我创建的一个简单的PHP脚本中添加星期六英国彩票号码。他有早发的老年痴呆症,并试图保持他的大脑活跃。今晚他问了我一个关于数据库的问题。他问我是否有可能看到6个最受欢迎的数字。

我尝试创建一个简单的SQL查询:

代码语言:javascript
复制
SELECT 1st, 2nd, 3rd, 4th, 5th, 6th, COUNT(*) AS 'foo' FROM `dad` GROUP BY 1st, 2nd, 3rd, 4th, 5th, 6th ORDER BY foo DESC

但结果和我预期的不一样。

代码语言:javascript
复制
1st 2nd 3rd 4th 5th 6th foo
2   6   8   32  33  35  1
3   6   12  17  35  40  1
3   6   31  43  46  53  1
etc

我希望该表合并成一个列,然后计数并得到一个简单的结果,如下所示:

代码语言:javascript
复制
Number   Count
2        1
3        2
6        3
8        1

然后把它按升序排列。然后,我可以使用该SQL查询为他创建一个简单的表,以显示最常见的数字。

我正在考虑做一个通用的SQL查询

代码语言:javascript
复制
SELECT 1st FROM `dad`

然后创建一个包含结果的数组,然后添加

代码语言:javascript
复制
SELECT 2nd FROM `dad`

到Array的末尾,并对所有6列继续,然后使用PHP单独计算数字。

有更快的路吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-24 22:54:06

你可以:

代码语言:javascript
复制
select
  n, cnt
from (
  select
    n,
    count(*) as cnt
  from (
    select `1st` as n from `dad` union all
    select `2nd` from `dad` union all
    select `3rd` from `dad` union all  
    select `4th` from `dad` union all
    select `5th` from `dad` union all
    select `6th` from `dad`
  ) x
  group by n
) y
order by cnt desc
limit 6
票数 0
EN

Stack Overflow用户

发布于 2020-06-24 22:51:31

您的第一步应该是修复您的数据模型。每个数字应该存储在单独的行中,而不是存储在列中,如下所示:

代码语言:javascript
复制
week    pos    num
   1      1      6
   1      2      8
   1      3     32

那么,您的查询将是一个简单的聚合查询:

代码语言:javascript
复制
select num, count(*) no_picks from dad group by num order by no_picks desc

对于给定的表结构,需要将列撤消到行。在MySQL中,您可以为此使用union all

代码语言:javascript
复制
select num, count(*) no_picks
from (
    select `1st` num from dad
    union all select `2nd` from dad
    union all select `3rd` from dad
    union all select `4th` from dad
    union all select `5th` from dad
    union all select `6th` from dad
) t
group by num 
order by no_picks
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62565218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档