---
title: "JOIN+WHERE+ORDER BY=Krångligt!, Hjälp!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/176278-join-where-order-by-krångligt-hjälp"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "IckoPicko"
published: "2009-01-10T14:52:58.000Z"
updated: "2009-01-11T19:31:42.000Z"
replies: 4
views: 394
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/176278-join-where-order-by-krångligt-hjälp"
---

# JOIN+WHERE+ORDER BY=Krångligt!, Hjälp!

## #1 — IckoPicko, 2009-01-10T14:52Z

Jag använder denna SQL-sträng för att hämta data från en MySQL-databas, vilket funkar bra. Jag vill dock ha en liten ändring som jag inte lyckas åstadkomma.

```
SELECT blogs.id, blogs.written_by, blogs.addtime, blogs.title, 
COUNT(blogcomments.id), MAX(blogcomments.addtime), users.icon
FROM blogs
LEFT JOIN blogcomments ON blogs.id = blogcomments.blog_id
LEFT JOIN users ON blogs.written_by = users.username
WHERE UNIX_TIMESTAMP( blogcomments.addtime ) >1231099200
GROUP BY blogs.id
ORDER BY blogs.addtime DESC
```

Som ni ser så sorteras resultatet efter blogs.addtime, fallande. Jag vill på något sätt sätta en LIMIT vilken tar bort de första 7 raderna som finns i tabellen blogs. Men om jag nu lägger till "LIMIT 7,100000" på slutet så tas de 7 raderna där WHERE-klausulen stämmer bort. Jag vill alltså ta bort de första 7 raderna oavsett om de stämmer in på WHERE-satsen eller inte. Går det att fixa?

Permalänk: https://www.webforum.nu/p/176278

## #2 — Baltiz, 2009-01-10T22:27Z

Du får göra en subselect som först tar bort de 7 första raderna, och därefter joina och böka med det andra.

Permalänk: https://www.webforum.nu/p/2165094

## #3 — IckoPicko, 2009-01-11T16:35Z

Ok, tack! Det har jag aldrig gjort förr. Har du ett exempel på hur det skulle kunna se ut?

Permalänk: https://www.webforum.nu/p/2165142

## #4 — Peter S, 2009-01-11T19:20Z

```
SELECT dt.id, dt.written_by, dt.addtime, dt.title, 
COUNT(blogcomments.id), MAX(blogcomments.addtime), users.icon
FROM (select * from blogs order by addtime desc limit 8, 18446744073709551610) as dt
LEFT JOIN blogcomments ON dt.id = blogcomments.blog_id
LEFT JOIN users ON dt.written_by = users.username
WHERE UNIX_TIMESTAMP( blogcomments.addtime ) >1231099200
GROUP BY dt.id
ORDER BY dt.addtime DESC
```

Permalänk: https://www.webforum.nu/p/2165176

## #5 — IckoPicko, 2009-01-11T19:31Z

Stort tack för hjälpen!  :birp

Permalänk: https://www.webforum.nu/p/2165178

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/176278-join-where-order-by-krångligt-hjälp
