Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I have this code:
$date=mysql_query("SELECT * FROM players where AdminLevel>='1' ORDER BY AdminLevel,UltReg DESC LIMIT 0,100");
I wanna sort something, and i don't know how to use for more "orders"
You can add additional levels to the ORDER BY statement by adding them separated by commas, as you have done for two levels.
For example:
$date=mysql_query("SELECT * FROM players where AdminLevel>='1' ORDER BY AdminLevel,UltReg DESC, anotherField ASC, yetAnotherField DESC, oneMoreFieldHere LIMIT 0,100");
Additionally, you should be using mysqli_query() instead of mysql_query() as mysql_query() has been deprecated.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 5 years ago.
Improve this question
how to write a find() with rollup :
$leadsCount = Approval::find()
->select(['COUNT(id) AS cnt, coalesce(status, "total")'])
->groupBy(['status'])
->with(rollup)
->all();
While running the query am
getting an error like this : Use of undefined constant rollup - assumed 'rollup'
I guess you mean this:
$leadsCount = Approval::find()
->select(['COUNT(id) AS cnt, coalesce(`status`, "total")'])
->groupBy(new \yii\db\Expression('`status` ASC WITH ROLLUP'))
->all();
The method with() is about object relations what is something completly different.
You also need to quote the column status since it is a reserved word in MySQL.
btw: you may want to use asArray() as well (->asArray()->all();) since you don't get Approval objects with this query.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
Trying to query db. I need to show all fields, but need to exclude one name that is in the db.
Example:
The db contains column 'marketer' when I try to query it I don't want marketer 'Tommy' but all the others. I have tried tried where clause with all the names and not working.
This is the query you're looking for
SELECT * FROM <table_name> WHERE marketer<>'Tommy';
use the 'where' to add your conditions
SELECT * FROM your_table WHERE marketer!='Tommy'
For your Reference
http://www.w3schools.com/sql/sql_where.asp
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
I'm using
productinfo (`productId`, `productName`, `productPrice`, `productSaleprice`, `productImage`, `productLink`, `productColor`, `productSize`, `categoryId`, `sourceProductId`, `sourceId`)
where productinfo is table, And i display products on the basis of productPrice and productSaleprice.
At this moment I fetch all results and calculate everything in PHP like this:
$diff=$productPrice-$productSaleprice;
$result=($diff)/($productPrice/100);
My question is, is it possible to calculate the same things in MySQl without using PHP?
The result should be displayed in DESC Order
I think below SQL useful to you.
select `productId`, `productName`, productPrice, productPrice, productPrice-productSaleprice as diff ,
(productPrice-productSaleprice)/(productPrice/100) as result
from productinfo
where category= 5
order by result desc;
Thank you
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
SELECT * FROM 'table' WHERE name IN ('abs', 'airbag_id', 'alarm')
This code make: 'abs' OR 'airbag_id' OR 'alarm'
I need to make: 'abs' AND 'airbag_id' AND 'alarm'
How can I do it with something like "IN".
I don't need something like this:
SELECT * FROM 'table' WHERE name = 'abs' AND name = 'airbag_id' AND name = 'alarm'
...because I will use to many AND's.
Any idea?
You probably need a single column result having all these names. You can do it like this
SELECT some_column_you_group_by
FROM your_table
WHERE name IN ('abs', 'airbag_id', 'alarm')
group by some_column_you_group_by
having count(distinct name) = 3
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I have a query that is returning a different amount of user_id's each time it's run (based on the number of subscribers).
What I need to do is insert each of these user_id results into separate rows within a table along with a simple message of "new alert" in a separate column.
How could I possibly go about doing this? Would a for each loop work in this situation?
Try this:
INSERT INTO alert_table SELECT user_id, 'new alert' FROM ... WHERE ...
Use your own query, just prepend it with the INSERT INTO alert_table clause.