2017-05-30 101 views
0

最高值我有一个查询,结果列得到与查询结果在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  | 
+------+------+------------+--------------------+-----------+ 
+1

您可以对返回最大值的派生表使用'CROSS JOIN'。如果您向我们显示表格的结构,我们可能会提供具体的查询。 –

回答

0
set @maxValue = (select max(daily_typing_pages) from your_table); 
select *, @maxValue from your_table 

使用这个你不必使用连接条件。

0

计算的最大子查询中的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 
0

您也可以使用此查询

select *,(select max(daily_typing_pages) from your_table) as max_daily from your_table 

在此查询可以追加新列max_daily,其值为最大值(daily_typing_pages)

0

您可以使用这样的事情,

select *, HighestValue = (select max(TotalAmount) from [dbo].[Order]) from [NorthWindDemo].[dbo].[Order]