Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4565240
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T18:36:54+00:00 2026-05-21T18:36:54+00:00

I have the following MySQL query: SELECT * FROM products WHERE catalog = 1

  • 0

I have the following MySQL query:

SELECT * 
  FROM products
 WHERE catalog = 1
 GROUP BY style
 ORDER BY name ASC
 limit 0, 100

Since I have multiple products with the same “style”, this will return information about whatever the first product that has a certain “style” (through the GROUP BY condition).

Because some products have a “discount”, my question is as follows: HOW do I make it so that the “GROUP BY style” condition gives first priority to a product that has a discount? My ultimate goal is to use 1 query instead of after that going through each returned style and checking if there is any products with a discount

If I specify “GROUP BY style, discount”, it returns 2 products with the same style: 1 with and 1 without a discount. This is NOT something that I need — I need to return only 1 match (unique) style but give preference to those items that match this style that have a discount.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T18:36:56+00:00Added an answer on May 21, 2026 at 6:36 pm

    You cannot impose priority within groupped set in a single query. You can restrict your results by using WHERE before applying GROUP BY, but that will just strip your result of rows not satisfying WHERE condition. To find order within groupped sets use a query like this: (assuming id is the primary key here)

    SELECT p.* FROM
      ( SELECT style,max(discount) as highest_discount 
        FROM products
        WHERE catalog = 1
        GROUP BY style ) p1
    JOIN products p
    ON p.id =
      ( SELECT pu.id 
        FROM products pu
        WHERE pu.catalog = 1
          AND pu.style = p1.style
          AND pu.discount = p1.highest_discount
        LIMIT 1 )
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have the following query: $myquery = mysql_query(SELECT p.name, GROUP_CONCAT(m.name) as products FROM access
I have the following mysql query: $products = mysql_query(SELECT * FROM dpweb_products WHERE id='$id')
I have the following MySQL query statement: SELECT * FROM table1 INNER JOIN table2
I have the following mysql query: $manufacturers_query = select m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, mi.manufacturers_url from
I have the following MySQL query: SELECT value_1, ( SELECT value_4 FROM table_1 WHERE
I have the following MySql query: select t1.* from Table1 t1 inner join Table2
I have the following query: SELECT * FROM (SELECT products.uid, products.title, products.ean, products.description, products.price,
I have the following query $query2 = SELECT reverse_products.id, reverse_products.name, reverse_relations.user_id FROM reverse_products JOIN
I have the following MySQL query: DELETE FROM catalogue WHERE catalogue_id IN ( SELECT
I have an application that executes the following MySQL query: SELECT 402 AS user_id,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.