---
title: "init(_:transaction:sectionBy:)"
framework: swiftdata
role: symbol
role_heading: Initializer
path: "swiftdata/query/init(_:transaction:sectionby:)-9sb87"
---

# init(_:transaction:sectionBy:)

Creates a sectioned query from a fetch descriptor, grouped into sections by a String key path. Pass nil to disable sectioning.

## Declaration

```swift
@MainActor @preconcurrency init(_ descriptor: FetchDescriptor<Element>, transaction: Transaction? = nil, sectionBy sectionKeyPath: KeyPath<Element, String>? = nil) where Result == [Element]
```

## See Also

### Creating an unsorted, sectioned query

- [init(_:animation:sectionBy:)](swiftdata/query/init(_:animation:sectionby:)-2em2m.md)
- [init(_:animation:sectionBy:)](swiftdata/query/init(_:animation:sectionby:)-2pqhv.md)
- [init(_:transaction:sectionBy:)](swiftdata/query/init(_:transaction:sectionby:)-5814o.md)
