gpt4 book ai didi

mysql - JPA2 : how to get count between the two ids

转载 作者:行者123 更新时间:2023-11-29 10:37:22 25 4
gpt4 key购买 nike

我有组表,其中包含 id、名称、时间戳列。当组有更新时,时间戳也会更新为当前值。

我正在尝试使用查询显示两个 id 之间的组数。

 Select Count(g) from Area.Group g where g.id between ?2 and ?3 order by g.timestamp desc

组表有:

        id  name    timestamp
== ==== ======================
271 News 20170912123733302+0000
272 Groups 20170831121326734+0000
273 A law 20170906075010972+0000
274 Test 20170906135003580+0000
275 Topic 20170906135139874+0000
276 Too 20170906135315684+0000
299 Q 20170911110126882+0000
300 R 20170911110254626+0000
301 S 20170911113756910+0000
302 T 20170911130306836+0000
303 Test 20170911135557812+0000
304 Tf 20170911135724170+0000
305 Ifti 20170911140254131+0000
306 Ghdu 20170911140358890+0000
307 Gifts 20170911140751073+0000
308 It 20170911140752881+0000
309 E 20170912123713640+0000
310 Ye 20170911162441817+0000
311 Asd 20170912052132275+0000

通过使用两个 id,我试图获取计数(顺序按时间戳降序排列)。例如,id 介于 271 和 303 之间。我在这里查看的计数是 10。

        id  name    timestamp
== ==== ======================
271 News 20170912123733302+0000
309 E 20170912123713640+0000
311 Asd 20170912052132275+0000
310 Ye 20170911162441817+0000
308 It E 20170911140752881+0000
307 Gifs 20170911140751073+0000
306 Ghdu 20170911140358890+0000
305 Ifti 20170911140254131+0000
304 Tf 20170911135724170+0000
303 Test 20170911135557812+0000

非常感谢任何帮助。

最佳答案

组是一个保留字,您应该避免使用这些单词命名表,但如果需要,则该单词应该位于反引号内

Select Count(*) from `Group` g where g.id between ?2 and ?3 order by g.timestamp desc

更正GROUP列名称后,保留与使用 Between相关的方面

注意:ORDER BY 对选择结果的处理不执行过滤.. 因此您必须计算原始原始表数据上 271 到 303 之间的行数..在 g.id 列上使用 where ... Between 意味着在 g.id 列上计算值的顺序,而与您选择的顺序无关。事实上,在您的示例中,查看按 g.id 排序的值,您有 11 行

关于mysql - JPA2 : how to get count between the two ids,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46183521/

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