# Requêtes SQL Mariadb

**URL:** <https://discourse.nodered.org/t/requetes-sql-mariadb/83813>\
**Category:** General\
**Created:** [18 December 2023 15:01 UTC](https://discourse.nodered.org/t/requetes-sql-mariadb/83813 "2023-12-18T15:01:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mfrederic](https://avatars.discourse-cdn.com/v4/letter/m/9d8465/32.png) [@mfrederic](https://discourse.nodered.org/u/mfrederic)\
**Post date:** [18 December 2023 15:01 UTC](https://discourse.nodered.org/t/requetes-sql-mariadb/83813/1 "2023-12-18T15:01:33Z")

</div>

bonjour,

Dans un bloc fonction, j'exécute une requête dans une base Mariadb.

Cette requête exécute la somme de mes consommations pour l'année 2022.

Hors, au changement d'année, je serai obliger de modifier ma requête.

Comment puis-je faire que cela soit dynamique et que ma requête soit modifiée pour 2023?

merci d'avance

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/6/e631416ac578916c959825a9ccc48b397a358828.png)

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [18 December 2023 15:36 UTC](https://discourse.nodered.org/t/requetes-sql-mariadb/83813/2 "2023-12-18T15:36:50Z")

</div>

You could try something like:

```auto
const year = new Date().getFullYear()
const query = `SELECT SUM(CONSO) FROM TEMPO WHERE DATE >= '${year}-01-01' AND DATE<= '${year}-12-31';`
msg.query = query 
return msg

```

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [18 December 2023 17:14 UTC](https://discourse.nodered.org/t/requetes-sql-mariadb/83813/3 "2023-12-18T17:14:34Z")

</div>

Another solution (well, a slight tweak)

```auto

const year = new Date().getFullYear()
const query = `SELECT SUM(CONSO) FROM TEMPO WHERE Year(DATE) = ${year}`
msg.query = query 
return msg

```

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [18 December 2023 18:10 UTC](https://discourse.nodered.org/t/requetes-sql-mariadb/83813/4 "2023-12-18T18:10:50Z")

</div>

A possible alternative approach retrieving multiple years' costs.  
Also because it's Mariadb, using msg.topic not msg.query  
NB It _might_ need an ORDER BY DATE clause too.

```auto
msg.topic = "SELECT Year(DATE) AS YEAR, SUM(CONSO) AS TOTAL FROM TEMPO GROUP BY Year(DATE)"
return msg;

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [16 February 2024 18:11 UTC](https://discourse.nodered.org/t/requetes-sql-mariadb/83813/5 "2024-02-16T18:11:34Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
