Performing SQL Queries
SQL JOINs

Visual Representation of SQL Joins

Source:

Sample Queries

Find Distinct Records (keeping the higher value)

Sample Data

id	name	value
1	aaaa	4
1	aaaaa	5
1	aaa	4
2	bbb	3
3	ccc	2
5	ddd	1
5	ddddd	2

Find the distinct records only and retrieve those with the highest value:

SELECT d1.id, d1.name, d1.value, MAX(d1.value) AS max1, 
  /* --- id --- */
  ( SELECT id FROM duprecs D2
    WHERE d2.id = d1.id
      AND d2.value = MAX(d1.value)
	) AS maxid,
  /* --- name --- */
  ( SELECT name FROM duprecs D2
    WHERE d2.id = d1.id
      AND d2.value = MAX(d1.value)
	) AS maxname,
  /* --- value --- */
  ( SELECT VALUE FROM duprecs D2
    WHERE d2.id = d1.id
      AND d2.value = MAX(d1.value)
	) AS maxvalue
FROM duprecs D1
GROUP BY id

Delete Duplicates (keeping the highest value)

Sample Data

tariffid	countryprefixid	rate	blockcall
GEONETCOMCC	1800		6.5	TRUE
GEONETCOMCC	1888		6.5	TRUE
GEONETCOMCC	1866		6.5	TRUE
GEONETCOMCC	1877		6.5	TRUE
GEONETCOMCC	9375		25.5	FALSE
GEONETCOMCC	9340		25.5	FALSE
GEONETCOMCC	9360		30.55	FALSE
GEONETCOMCC	9320		25.5	FALSE
GEONETCOMCC	9330		25.5	FALSE
GEONETCOMCC	9350		30.55	FALSE
GEONETCOMCC	9370		27.85	FALSE
GEONETCOMCC	9377		26.5	FALSE
GEONETCOMCC	9378		27.85	FALSE
GEONETCOMCC	9379		26.25	FALSE
GEONETCOMCC	930		30.55	FALSE
GEONETCOMCC	931		30.55	FALSE

Same data, but displaying only the duplicate records:

rate		tariffid	countryprefixid	blockcall
8.8299999	GEONETCOMCC	1809985		f
8.8299999	GEONETCOMCC	1809985		f
18.4		GEONETCOMCC	202		f
18.4		GEONETCOMCC	202		f
17.700001	GEONETCOMCC	2252		f
17.700001	GEONETCOMCC	2252		f
27		GEONETCOMCC	23222		f
27		GEONETCOMCC	23222		f
11.5		GEONETCOMCC	23321		f
12		GEONETCOMCC	23321		f
12		GEONETCOMCC	23322		f
12		GEONETCOMCC	23322		f
14		GEONETCOMCC	2341		f
15.75		GEONETCOMCC	2341		f
46.5		GEONETCOMCC	25262		f
46.5		GEONETCOMCC	25262		f
46.5		GEONETCOMCC	25265		f
46.5		GEONETCOMCC	25265		f