得到与查询结果在MySQL
问题描述:
最高值我有一个查询,结果列得到与查询结果在MySQL
+------+------+------------+--------------------+
| 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 |
+------+------+------------+--------------------+-----------+
答
set @maxValue = (select max(daily_typing_pages) from your_table);
select *, @maxValue from your_table
使用这个你不必使用连接条件。
答
计算的最大子查询中的daily_typing_pages
字段,并将其作为派生表连接到主要查询而不存在连接条件:
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
答
您也可以使用此查询
select *,(select max(daily_typing_pages) from your_table) as max_daily from your_table
在此查询可以追加新列max_daily,其值为最大值(daily_typing_pages)
答
您可以使用这样的事情,
select *, HighestValue = (select max(TotalAmount) from [dbo].[Order]) from [NorthWindDemo].[dbo].[Order]
您可以对返回最大值的派生表使用'CROSS JOIN'。如果您向我们显示表格的结构,我们可能会提供具体的查询。 –