Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

mit sql provision berechnen ?

Empfohlene Antworten

Veröffentlicht

hallo

ich hab ein keines problem

ich hab eine große tabelle in der verkaufspreise, verkäufer und vkdatum drin stehen.

ich möchte jetzt die provisionen ausrechnen.

mein ansatz war:

SELECT ((Select count(auto_id) from autos where vk_preis <= 5000 group by vk_von) * 50) as u_5000_provi, ((Select count(auto_id) from autos where vk_preis > 5000 and vk_preis <= 15000 group by vk_von) * 80) as u_15000_provi, u.vorname, u.name FROM autos a, user u WHERE YEAR(a.vk_datum) = 2006 and a.verkauft = 1 and a.vk_preis <= 5000 and vk_von = u.id group by a.vk_von

funktioniert natürlich nicht, da der innere select mehr als 1 zeile zurückliefert.

(sollte nur zur veranschaulichung dienen) ich könnt es natürlich auch mit php ausrechnen lassen... aber ich denke das geht auf die performance.

die ausgabe sollte wie folgt aussehen:

Benutzer;Umsatz;Provision

User1; 32.200.210; 1.150.200; Januar

User2; 25.501.325; 950.500; Januar

User1; 30.251.234; 1.100.200; Februar

User2; 40.251.241; 1.120.254; Februar

usw.

oder geht die ausgabe garnet ?

Danke

ich könnt es natürlich auch mit php ausrechnen lassen... aber ich denke das geht auf die performance.

wessen performance ? :rolleyes:

schreib bitte hin, welche tabellen betroffen sind und wie die spalten heissen

also

tabelle autos

darin sind unteranderem

auto_id, vk_datum, vk_von, vk_preis,

dann gibts noch die tabelle user

userid,nachname, vorname,

also

tabelle autos

darin sind unteranderem

auto_id, vk_datum, vk_von, vk_preis,

dann gibts noch die tabelle user

userid,nachname, vorname,

mit performance meinte ich nur die wartezeit, bis die ganze seite aufgebaut ist..

Du kannst im inneren Select ein aggregierendes Statement verwenden, dass die entsprechenden Werte erst berechnet und dann als skalare Größe im äußeren Statement weiter verwendet.

Das geht allerdings nicht mit allen Datenbanken uneingeschränkt. Da Du schreibst, dass Du in PHP programmierst, nehme ich an, dass Du MySQL benutzt. Das ist natürlich eine vergleichsweise "schwache" DB in diesen Dingen (will damit nicht in Frage stellen, dass es für Websites die beste schlechthin ist!).

Was die Performance angeht, ist es auch oft gut, zu probieren, was mehr drückt. Prinzipiell ist es natürlich meist performanter, solche Berechnungen direkt in der DB machen zu lassen, aber es war nicht selten der schnellere Weg, es doch in der Applikation zu machen; gerade wenn man mit MySQL arbeitet!

Einfach mal versuchen!

also

tabelle autos

darin sind unteranderem

auto_id, vk_datum, vk_von, vk_preis,

dann gibts noch die tabelle user

userid,nachname, vorname,

mit performance meinte ich nur die wartezeit, bis die ganze seite aufgebaut ist..

also was braucht man alles ?

1) SELECT SUM(vk_preis), vk_von, MONTHNAME(vk_datum) as Monat

FROM autos GROUP BY vk_von, Monat

2) provisionsberechnung

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.