我有一个结果列
的查询+------+------+------------+--------------------+
| id | name | work_date | daily_typing_pages |
+------+------+------------+--------------------+
| 1 | John | 2007-01-24 | 250 |
| 2 | Ram | 2007-05-27 | 220 |
| 3 | Jack | 2007-05-06 | 170 |
| 3 | Jack | 2007-04-06 | 100 |
| 4 | Jill | 2007-04-06 | 220 |
| 5 | Zara | 2007-06-06 | 300 |
| 5 | Zara | 2007-02-06 | 350 |
+------+------+------------+--------------------+
我想在另一列中将此结果的最大值输出为
+------+------+------------+--------------------+-----------+
| id | name | work_date | daily_typing_pages | Max daily|
+------+------+------------+--------------------+-----------+
| 1 | John | 2007-01-24 | 250 | 350 |
| 2 | Ram | 2007-05-27 | 220 | 350 |
| 3 | Jack | 2007-05-06 | 170 | 350 |
| 3 | Jack | 2007-04-06 | 100 | 350 |
| 4 | Jill | 2007-04-06 | 220 | 350 |
| 5 | Zara | 2007-06-06 | 300 | 350 |
| 5 | Zara | 2007-02-06 | 350 | 350 |
+------+------+------------+--------------------+-----------+
答案 0 :(得分:0)
计算子查询中select * from yourtable
inner join (select max(daily_typing_pages) as max_daily from yourtable) t
字段的最大值,并将其作为派生表连接到主查询而不使用连接条件:
select yourtable.*, (select max(daily_typing_pages) from yourtable) as max_daily from yourtable
没有连接条件的连接将导致将两个查询中的每条记录与另一个表中的每条记录相关联。
或者,如果要避免连接,请在选择列表中使用相关子查询:
$("#txtbx").keyup(function()
{
setTimeout(go,2000);
});
function go()
{
$("#hide").hide();
}
答案 1 :(得分:0)
set @maxValue = (select max(daily_typing_pages) from your_table);
select *, @maxValue from your_table
使用此功能,您不必使用连接条件。
答案 2 :(得分:0)
您也可以使用此查询
select *,(select max(daily_typing_pages) from your_table) as max_daily from your_table
在此查询中,您可以将新列添加为max_daily,其值为max(daily_typing_pages)
答案 3 :(得分:0)
你可以使用这样的东西,
select *, HighestValue = (select max(TotalAmount) from [dbo].[Order]) from [NorthWindDemo].[dbo].[Order]