如何编写mysql查询以精确返回4行
我想显示表中的4行。我使用下面的查询 从tbl_name中选择字段_name,其中col_name=‘value’LIMIT 4 该表包含4个以上的值意味着它可以完美地显示前4行。但它少于4行意味着我需要以下结果的结果如何编写mysql查询以精确返回4行,mysql,Mysql,我想显示表中的4行。我使用下面的查询 从tbl_name中选择字段_name,其中col_name=‘value’LIMIT 4 该表包含4个以上的值意味着它可以完美地显示前4行。但它少于4行意味着我需要以下结果的结果 它仅显示2行表示 字段名称 第1行 第2行 第2行 第1行 它只显示3行意味着 字段名称 第1行 第2行 第3行 第1行 如何获得此结果?这不是一个很好的解决方案,但它应该可以工作:您可以使用UNION ALL重复查询4次,并限制为4个结果: SELECT * FROM (
第1行
第2行
第2行
第1行
第1行
第2行
第3行
第1行
如何获得此结果?这不是一个很好的解决方案,但它应该可以工作:您可以使用UNION ALL重复查询4次,并限制为4个结果:
SELECT * FROM (
SELECT field_name FROM tbl_name WHERE col_name = 'value' LIMIT 4;
UNION ALL
SELECT field_name FROM tbl_name WHERE col_name = 'value' LIMIT 4;
UNION ALL
SELECT field_name FROM tbl_name WHERE col_name = 'value' LIMIT 4;
UNION ALL
SELECT field_name FROM tbl_name WHERE col_name = 'value' LIMIT 4;
) a LIMIT 4
像这样试试
Select * from (
select * from tbl_name WHERE col_name = 'value' LIMIT 4
union all
select * from tbl_name WHERE col_name = 'value' LIMIT 4
union all
select * from tbl_name WHERE col_name = 'value' LIMIT 4
union all
select * from tbl_name WHERE col_name = 'value' LIMIT 4) as table1 LIMIT 4
你的解释很不清楚,你能改进一下以便我们能提供帮助吗?问题出在哪里,请提供更多的细节或明确你想要的是什么,如果我说得对的话,一切都可以^^
SELECT Column_Name
FROM (
SELECT Column_Name, ROW_NUMBER() OVER (ORDER BY Column_Name) AS RowNum
FROM [dbo].[AttendanceLog]
) AS MyDerivedTable
WHERE MyDerivedTable.RowNum BETWEEN 1 and 4