问题
Is it possible for a SQL query to return some normal columns and some aggregate ones?
like :
Col_A | Col_B | SUM
------+-------+------
5 | 6 | 7
回答1:
You should use the group by statement.
The GROUP BY statement is used in conjunction with the aggregate functions to group the result-set by one or more columns.
For example:
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
You can see a complete example here.
回答2:
Yes of course. Read on GROUP BY and aggregate functions. e.g.
SELECT col1, col2, SUM(col3)
FROM table
GROUP BY col1, col2
回答3:
Yes, add them to GROUP BY clause.
回答4:
If you GROUP BY some fields, you can show those fields, and aggregate others; e.g.:
SELECT colA, colB, SUM(colC)
FROM TheTable
GROUP BY colA, colB
aggregation can be by SUM, MIN, MAX, etc.
回答5:
You can show ordinary columns or expressions based on ordinary columns, but only if they are included in the set of columns/expressions you are agregating over ( what is listed in Group By clause ).
来源:https://stackoverflow.com/questions/1249125/aggregate-function-and-other-columns