Spec-Zone .ru
спецификации, руководства, описания, API

3.6. Examples of Common Queries

3.6.1. The Maximum Value for a Column
3.6.2. The Row Holding the Maximum of a Certain Column
3.6.3. Maximum of Column per Group
3.6.4. The Rows Holding the Group-wise Maximum of a Certain Column
3.6.5. Using User-Defined Variables
3.6.6. Using Foreign Keys
3.6.7. Searching on Two Keys
3.6.8. Calculating Visits Per Day
3.6.9. Using AUTO_INCREMENT

Here are examples of how to solve some common problems with MySQL.

Some of the examples use the table shop to hold the price of each article (item number) for certain traders (dealers). Supposing that each trader has a single fixed price per article, then (article, dealer) is a primary key for the records.

Start the command-line tool mysql and select a database:

shell> mysql your-database-name

(In most MySQL installations, you can use the database named test).

You can create and populate the example table with these statements:

CREATE TABLE shop (    article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,    dealer  CHAR(20)                 DEFAULT ''     NOT NULL,    price   DOUBLE(16,2)             DEFAULT '0.00' NOT NULL,    PRIMARY KEY(article, dealer));INSERT INTO shop VALUES    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);

After issuing the statements, the table should have the following contents:

SELECT * FROM shop;+---------+--------+-------+| article | dealer | price |+---------+--------+-------+|    0001 | A      |  3.45 ||    0001 | B      |  3.99 ||    0002 | A      | 10.99 ||    0003 | B      |  1.45 ||    0003 | C      |  1.69 ||    0003 | D      |  1.25 ||    0004 | D      | 19.95 |+---------+--------+-------+