Use defined variable in new select clause : Select « Select Clause « SQL / MySQL

Home
SQL / MySQL
1.Aggregate Functions
2.Backup Load
3.Command MySQL
4.Cursor
5.Data Type
6.Database
7.Date Time
8.Engine
9.Event
10.Flow Control
11.FullText Search
12.Function
13.Geometric
14.I18N
15.Insert Delete Update
16.Join
17.Key
18.Math
19.Procedure Function
20.Regular Expression
21.Select Clause
22.String
23.Table Index
24.Transaction
25.Trigger
26.User Permission
27.View
28.Where Clause
29.XML
SQL / MySQL » Select Clause » Select 
Use defined variable in new select clause
  
/*
mysql> SELECT * FROM report;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|    0001 | A      |  4.45 |
|    0001 | B      |  5.45 |
|    0002 | A      | 16.67 |
|    0003 | B      |  6.12 |
|    0003 | C      |  2.78 |
|    0003 | D      |  2.34 |
|    0004 | D      | 21.29 |
+---------+--------+-------+
7 rows in set (0.00 sec)

mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM report;
+------------------------+------------------------+
| @min_price:=MIN(price) | @max_price:=MAX(price) |
+------------------------+------------------------+
|                   2.34 |                  21.29 |
+------------------------+------------------------+
1 row in set (0.00 sec)

mysql> /* Using User Variables */
mysql> SELECT FROM report WHERE price=@min_price OR price=@max_price;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|    0003 | D      |  2.34 |
|    0004 | D      | 21.29 |
+---------+--------+-------+
rows in set (0.00 sec)


*/
Drop table report;  


CREATE TABLE report (
       article INT(4UNSIGNED 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 report VALUES (1,'A',4.45),
                        (1,'B',5.45),
                        (2,'A',16.67),
                        (3,'B',6.12),
                        (3,'C',2.78),
                        (3,'D',2.34),
                        (4,'D',21.29);
    
SELECT FROM report;    

SELECT @min_price:=MIN(price),@max_price:=MAX(priceFROM report;
  
/* Using User Variables */
SELECT FROM report WHERE price=@min_price OR price=@max_price;


           
         
    
  
Related examples in the same category
1.Define and use variable in select clause
2.Select clause with condition
3.Choose specific columns
4.Reference column in select command
5.Performing Mathematics
6.Simple Retrieval:Returning Multiple Columns
7.Simple Retrieval:Returning a Single Column
8.Simple Retrieval: Returning All Columns
9.Performing a Single Row INSERT
10.Retrieve all columns in a table
11.Using constant string value as comment message for aggregate function
12.Calculation
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.