COUNT(DISTINCT column) Returns the number of distinct
results
FIRST(column) Returns the value of the first record in the
specified field
LAST(column) Returns the value of the last record in the
specified field
MAX(column) Returns the highest value of a column
MIN(column) Returns the lowest value of a column
STDEV(column)
STDEVP(column)
SUM(column) Returns the total sum of a column
VAR(column)
VARP(column)
Scalar functions
Scalar functions operate against a single value, and return
a single value based on the input value.
Useful Scalar Functions in MS Access
Function Description
UCASE(c) Converts a field to upper case
LCASE(c) Converts a field to lower case
MID(c,start[,end]) Extract characters from a text field
LEN(c) Returns the length of a text field
INSTR(c) Returns the numeric position of a named character
within a text field
LEFT(c,number_of_char) Return the left part of a text field
requested
RIGHT(c,number_of_char) Return the right part of a text
field requested
ROUND(c,decimals) Rounds a numeric field to the number of
decimals specified
MOD(x,y) Returns the remainder of a division operation
NOW() Returns the current system date
FORMAT(c,format) Changes the way a field is displayed
DATEDIFF(d,date1,date2) Used to perform date calculations
SQL GROUP BY and HAVING
Aggregate functions (like SUM) often need an added GROUP BY functionality.
GROUP BY...
GROUP BY... was added to SQL because aggregate functions
(like SUM) return the aggregate of all column values every time they are
called, and without the GROUP BY function it was impossible to find the sum for
each individual group of column values.
The syntax for the GROUP BY function is:
SELECT column,SUM(column) FROM table GROUP BY column
GROUP BY Example
This "Sales" Table:
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
And This SQL:
SELECT Company, SUM(Amount) FROM Sales
Returns this result:
Company SUM(Amount)
W3Schools 17100
IBM 17100
W3Schools 17100
The above code is invalid because the column returned is not
part of an aggregate. A GROUP BY clause will solve this problem:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
Returns this result:
Company SUM(Amount)
W3Schools 12600
IBM 4500
HAVING...
HAVING... was added to SQL because the WHERE keyword could
not be used against aggregate functions (like SUM), and without HAVING... it
would be impossible to test for result conditions.
The syntax for the HAVING function is:
SELECT column,SUM(column) FROM table
nice easy to understand
ReplyDelete