首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PDO的数据集变量限制

问使用PDO的数据集变量限制
EN

Stack Overflow用户
提问于 2016-06-08 07:13:49
回答 1查看 71关注 0票数 2

我正在搜索一个非常大的数据库,并希望根据这个条件限制返回的行。

我的查询如下

代码语言:javascript
复制
SELECT id,value,year FROM table WHERE value = '$formvariable'

我真正想要的是:

  • 如果查询返回的行超过250行,则仅显示按年份递减排序的最后3年的结果,则限制1000行。
  • 否则,250行或更少,显示全部。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-08 07:20:48

你可以尝试这样做:

代码语言:javascript
复制
SELECT * FROM YourTable
WHERE value = '$formvariable'
  AND 250 >= (SELECT COUNT(*) FROM YourTable)

UNION ALL
SELECT * FROM YourTable t
WHERE value = '$formvariable'
  AND 250 <= (SELECT COUNT(*) FROM YourTable)
  AND t.year >= YEAR(DATE_ADD(curdate(), INTERVAL -3 YEAR))
ORDER BY t.year DESC
LIMIT 1000

如果有少于250个记录,所有记录都将在UNION的第一部分中被选中,而没有一个将从第二个部分中选择。

如果有更多的,将没有从第一部分选择,只有1000个由year订购的过去3年的第一记录将被选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37695611

复制
相关文章

相似问题

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