gpt4 book ai didi

mysql - 合并来自同一个表的两个 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 01:59:02 24 4
gpt4 key购买 nike

我目前有一个这样设置的表:

issue|total   | series
-----|--------|---------
1 | 1 | Series A
2 | 2 | Series A
1 | 3 | Series B
3 | 4 | Series A
2 | 5 | Series B
1 | 6 | Series C

它跟踪系列(系列),以及每个系列中的问题编号(问题)。除此之外,我还有此表中所有条目的总计(总数)。

我想做的是组合两个查询,第一个用于定位给定系列中的最后一期编号,第二个用于始终定位表中的最后一个总数。大概我需要使用的两个查询如下,我只是不知道如何最好地将它们组合成一个选择查询:

找到给定系列的最后一期:

SELECT issue FROM seriesTable WHERE series = 'Series A|Series B|Series C' ORDER BY issue DESC LIMIT 1

查找条目总数:

SELECT total FROM seriesTable ORDER BY total DESC LIMIT 1

那么,如果我想引用 A 系列的最后一期和参赛作品总数 (3, 6),最好的方法是什么?我已经尝试过 INNER JOINUNION 两者似乎都不起作用,但我认为我在正确的轨道上,只是语法使用不正确。

我想另一种选择是单独运行查询,添加到一个数组并让 PHP 给我结果,但是我宁愿尽可能避免这种情况。

最佳答案

原来的答案在下面,澄清后我有另一个答案

您只需要将单行结果集与您更胖的总数交叉连接即可。

A系列

SELECT series, MAX(issue), total.total FROM seriesTable
JOIN (SELECT total FROM seriesTable ORDER BY total DESC LIMIT 1) total
WHERE series = 'Series A';

或者对于每个系列

SELECT series, MAX(issue), total.total FROM seriesTable
JOIN (SELECT total FROM seriesTable ORDER BY total DESC LIMIT 1) total
GROUP BY series;

sql fiddle

原始答案

因此,要获得“每个系列截至该系列最后一期的总数”,您需要自行加入并按系列分组以找到最大问题,然后在加入时使用它来提取总数。

select issue as current_issue, total, series from seriesTable
natural join (SELECT series,
max(issue) as issue
FROM seriesTable
group by series) max_issues;

sql fiddle

关于mysql - 合并来自同一个表的两个 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19889044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com